#include "graph.h"
//#include<bits/stdc++.h>
//using namespace std;
const int Maxn=805;
int now=1;
int f[805][805];
int dfs(){
	if(Color()!=1)return Color();
	int u=++now;
	int cnt=NumberOfRoads();
	for(int i=1;i<=cnt;i++){
		Move(i,u);
		int last=LastRoad();
		int tmp=dfs();
		Move(last,tmp);
		f[tmp][u]=f[u][tmp]=1;
	}
	return u;
}
int ans[805];
void Inspect(int R){
	for(int i=1;i<=800;i++)
		for(int j=1;j<=800;j++)f[i][j]=1e9;
	dfs();
	for(int k=2;k<=now;k++)
		for(int i=2;i<=now;i++)
			for(int j=2;j<=now;j++)
				f[i][j]=(f[i][j]>f[i][k]+f[k][j]?f[i][k]+f[k][j]:f[i][j]);
	for(int i=2;i<=now;i++)
		for(int j=i+1;j<=now;j++)ans[(R+1>=f[i][j]?f[i][j]:R+1)]++;
	for(int i=1;i<=R;i++)Answer(i,ans[i]);
  // Write your code here.
}
/*
4 30 3
1
2
3
1 3 4
2
2 4
2
2 3
4
2
0
*/
